// 公共接口文件
import request from "@/utils/request";

// 请求图片
export function getResource(resourceType) {
    return request({
        url: `/resource/${resourceType}`,
        method: 'get',
    })
}
// 上传图片
export function uploadResource(resourceType,formData){
    return request({
        url:`/resource/${resourceType}`,
        method:'post',
        data:formData,
    })
}

// 用户登录
export function handleLogin(data) {
    return request({
        url: '/login',
        method: 'post',
        data
    })
}

// 退出登陆
export function logOut(){
    return request({
        url:'/logout',
        method:'get'
    })
}

// 获取用户信息
export function getUserList(data){
    return request({
        url: '/admin/user/list',
        method: 'post',
        data
    })
}

// 添加用户信息
export function addUser(data){
    return request({
        url:'/admin/user',
        method:'post',
        data
    })
}

// 删除用户信息
export function deleteUser(username){
    return request({
        url:`/admin/user/${username}`,
        method:"delete",
    })
}

// 修改用户信息
export function updateUser(data, username){
    return request({
        url:`/admin/user/${username}`,
        method:'patch',
        data,
    })
}

// 修改用户启用状态
export function enableUser(username, data){
    return request({
        url:`/admin/user/enable/${username}`,
        method:'patch',
        params:data
    })
}

// 用户绑定角色
export function bindUserRole(username, role){
    return request({
        url:`/admin/user/bind/${username}/${role}`,
        method:'get',

    })
}

// 用户解绑角色
export function unbindUserRole(username, role){
    return request({
        url:`/admin/user/unbind/${username}/${role}`,
        method:'get'
    })
}


// 查询艺术家列表
export function getArtistList(data){
    return request({
        url:'/admin/artist/list',
        method:'post',
        data
    })
}

// 删除指定的艺术家
export function deleteArtist(id){
    return request({
        url:`/admin/artist/${id}`,
        method:'delete'
    })
}

// 添加艺术家
export function addArtist(data){
    return request({
        url:'/admin/artist/add',
        method:'post',
        data
    })
}

// 更新/修改艺术家
export function updateArtist(id, data){
    return request({
        url:`/admin/artist/${id}`,
        method:'patch',
        data
    })
}

// 查询专辑列表
export function getAlbumList(data){
    return request({
        url:'/admin/album/list',
        method:'post',
        data
    })
}

// 添加专辑
export function addAlbum(data){
    return request({
        url:'/admin/album/add',
        method:'post',
        data
    })
}

// 更新/修改专辑
export function updateAlbum(id, data){
    return request({
        url:`/admin/album/${id}`,
        method:'patch',
        data
    })
}

// 删除专辑
export function deleteAlbum(id){
    return request({
        url:`/admin/album/${id}`,
        method:'delete'
    })
}

// 音乐列表
export function getMusicList(data){
    return request({
        url:'/admin/music/list',
        method:'post',
        data
    })
}

// 单个音乐详情
export function getDetailById(id){
    return request({
        url:`/admin/music/${id}`,
        method:'get'
    })
}

// 新增音乐
export function addMusic(data){
    return request({
        url:'/admin/music',
        method:'post',
        data
    })
}

// 修改音乐
export function updateMusic(id, data){
    return request({
        url:`/admin/music/${id}`,
        method:'patch',
        data

    })
}

// 删除音乐
export function deleteMusic(id){
    return request({
        url:`/admin/music/${id}`,
        method:'delete'
    })
}

// 下载音乐
export function downloadMusic(resourceType,resourceName){
    return request({
        url:`/resource/${resourceType}/${resourceName}?download=true`,
        method:'get',
        responseType: 'blob', // 声明返回blob格式
    })
}

// 获取广告配置
export function getSplash(){
    return request({
        url:'/splash',
        method:'get'
    })
}

// 修改广告配置
export function  updateSplash(data){
    return request({
        url:'/admin/splash',
        method:'patch',
        data
    })
}

// 获取轮播图
export function getCarouse(){
    return request({
        url:'/banner',
        method:'get'
    })
}

// 轮播图配置
export function carouseConfig(data){
    return request({
        url:'/admin/banner',
        method:'patch',
        data
    })
}
